/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.univalle.logica;

import co.edu.univalle.modelo.Perfiles;
import co.edu.univalle.persistencia.IPerfilDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author Jhony
 */
@Stateless
public class PerfilLogica implements PerfilLogicaLocal {
    @EJB
    private IPerfilDAO perfilDAO;
    
    @Override
    public void registrar(Perfiles perfil) throws Exception {
        if(perfil == null){
             throw new Exception("El perfíl no tiene información");
        }
        
        Perfiles objEmpleado = perfilDAO.consultarPorNombre(perfil.getNombrePerfil());
        
        if(objEmpleado != null){
            throw new Exception("El perfil ya existe");
        }
        
        if((perfil.getNombrePerfil() == null)||(perfil.getNombrePerfil().equals(""))){
            throw new Exception("El nombre no puede ser vacio");
        }
                      
        perfilDAO.registrar(perfil);
    }

    @Override
    public void modificar(Perfiles perfil) throws Exception {
        if(perfil == null){
             throw new Exception("El perfíl no tiene información");
        }
        
        Perfiles objEmpleado = perfilDAO.consultarPorNombre(perfil.getNombrePerfil());
        
        if(objEmpleado != null){
            throw new Exception("El perfil ya existe");
        }
        
        if((perfil.getNombrePerfil() == null)||(perfil.getNombrePerfil().equals(""))){
            throw new Exception("El nombre no puede ser vacio");
        }
                      
        perfilDAO.modificar(perfil);
    }

    @Override
    public void eliminar(Perfiles perfil) throws Exception {
          if(perfil == null){
             throw new Exception("El perfil no tiene información");
        }
        
        Perfiles objPerfil = perfilDAO.consultarPorNombre(perfil.getNombrePerfil());
        
        if(objPerfil == null){
             throw new Exception("El perfil a eliminar no existe");             
        }
        
        perfilDAO.eliminar(objPerfil);
    }

    @Override
    public List<Perfiles> consultar() throws Exception {
        return perfilDAO.consultar();
    }
}
